1 Field of the Invention
The present invention relates generally to wireless communications, and more particularly, to a data link layer tunneling technique for resending missed frames between a packet sending unit and a packet receiving unit over a logical tunnel channel to improve the throughput of high speed data in a noisy wireless environment.
2. Description of the Prior Art
Fixed wireless systems are used to communicate voice and high speed data (HSD) between a base station (BS) and multiple remote units (RU) over an air-interface. HSD is generally used for web browsing, down loads and file transfer protocols (FTP). All data must be transferred notwithstanding the predictable errors caused by the communications links employed in the system (e.g., a 10E-03 Bit Error, Rate (BER)). Accordingly, communication protocols have been developed for transmitting data in discrete blocks commonly referred to as xe2x80x9cframes.xe2x80x9d These frames are evaluated at the receiving end to determine if the data is correctly received. If certain frames are in error or missed, those frames are retransmitted by the sending station.
Communications protocols are commonly based on the layered network architecture such as OSI. This is a 7-layer architecture including a physical layer (connectors, media, electrical signaling) and a data link layer, which packages the data into frames, manages data transmission over a link (error handling and the like), and facilitates access control (when each station may transmit). One way of achieving full-duplex data transmission over a single communication channel utilizes what is known in the art as a xe2x80x9csliding window protocol.xe2x80x9d At any instant in time, the sender maintains a list of consecutive sequence numbers corresponding to frames it is permitted to send. These frames fall within a xe2x80x9csending window.xe2x80x9d In the same manner, the receiver maintains a xe2x80x9creceiving windowxe2x80x9d corresponding to the frames it is permitted to accept. The sending and receiving windows do not necessarily have the same upper and lower limits, or the same size. The sequence numbers within the sender""s window represent frames sent but not yet acknowledged. Whenever a new data packet arrives from the network layer, it is given the next highest sequence number, and the upper edge of the window is advanced by one. When an acknowledgement is received, the lower edge of the window is advanced by one. The window continuously maintains a list of unacknowledged frames. Since frames currently within the sender""s window may be lost or changed during transmission, the sender must keep all the sent frames in memory in the event a retransmission is required. Accordingly, if the maximum window size is xe2x80x9cKxe2x80x9d, the sender needs K buffers to hold the unacknowledged frames in memory. If the window ever exceeds it""s maximum size, the sending data link layer must shut off the network layer until a buffer is freed up. The receiving data link layer""s window corresponds to the frames it can accept. Any frame that falls outside the window is discarded. When a frame with a sequence number equal to the lower edge of the window is received, that frame is passed to the network layer, an acknowledgment is generated to the sender, and the window is rotated by one. Unlike the sender""s window, the receiver""s window always remains at its initial size.
An example of a sliding window protocol in a data communications system is disclosed in U.S. Pat. No. 4,841,526. In the ""526 patent, the window size of the sending or receiving station is selected in accordance with the speed, length or error rate of the communication link or frame size used to maximize the communication link. The negative acknowledgements sent by the receiving station specify the upper and lower limit of a range of identification numbers of frames unsuccessfully received to increase transmission efficiency. Before data is transmitted, the sending and receiving stations exchange preferred sets of link parameters and generate a modified set of link parameters to resolve potential conflicts. One of the sending and receiving stations stores a table defining the frame sizes for use with different bit error rates of the communication link. The station evaluates the current bit error rate to select the optimum frame size from the table and adjust the frame size.
To provide HSD over a wireless system, a large window size (K) is required. As an example, at a transmission rate of 512 kbps, a window size K of 45 is used. In such a system, loss of a frame will cause relatively long silent periods or what is referred to as xe2x80x9cchannel idle.xe2x80x9d Application layers such as FTP or web browsing pump data at a higher rate than the air link data thereby causing the data link layer window to be filled at a very fast rate. If the receiving station loses a frame, it sends a selective reject message (SREJ) to the sending station. By the time the sending station receives the SREJ, however, the window can be filled, and neither the sender nor receiver will be able to transmit or receive until the outstanding frame clears. This causes a silent or xe2x80x9cchannel idlexe2x80x9d period where the sending station cannot transmit and the receiving station cannot receive more than the last acknowledged frame (Va)+window size (K).
In view of the above, there exists a need for a new method of enhancing HSD transmission in wireless environments that reduce the idle periods caused by lost frames.
In view of the above, it is an object of the present invention to provide a data link layer tunneling technique for improving the throughput of high speed data in a noisy wireless environment.
It is another object of the invention to prevent large idle gaps, over a wireless communications channel caused by missed frames.
It is still another object of the present invention for the data link layer to establish a tunnel to clear outstanding frames and enable data packets to be exchanged even when the window is full.
In accordance with the above objects and additional objects that will become apparent hereinafter, the present invention provides a method of recovering lost frames transmitted between a packet sending unit and a packet receiving unit in a data communications system. The method generally comprises the steps of: (a) identifying a failure to successfully receive a missed frame at the packet receiving unit; (b) establishing a logical tunnel channel at the packet receiving unit to acknowledge the next successfully received frame; (c) starting a first timer at the packet receiving unit; (c) upon receiving a tunnel establishment request (TER) from the packet receiving unit, the packet sending unit resending the missed frame on the logical tunnel channel and starting a second timer; and (d), the packet sending unit resending the missed frame a specified, number of times until receiving an acknowledgement from the packet receiving unit.
In accordance with the method, the packet sending unit sends an I-frame to the packet receiving unit. Upon successful receipt of an I-frame and identification of a missing frame, the packet receiving unit generates a supervisory frame (TER) with a sequence number N(R) set to the missing frame and payload set to the number of consecutive frames. The packet receiving unit establishes a logical tunnel channel, sends the TER (frame, payload) to the packet sending unit, and starts a first timer. When the TER (frame, payload) is received, the packet sending unit starts a second timer and resends the missed frame over the logical tunnel channel. If the retransmitted missed frame is not received by the packet receiving unit before the first timer expires, the packet receiving unit retransmits the TER a predetermined number of times. If the retransmitted frame is not received by the packet receiving unit after being retransmitted a predetermined number of times and frame overflow does not occur, the frame is recovered using a normal recovery procedure. If the first timer has not expired, the packet receiving unit continues to acknowledge all frames with a predetermined poll bit setting irrespective of when the sender""s window closes. If the missed frame is acknowledged, the packet receiving unit sends a receive ready (RR) message to the packet sending unit. If the acknowledgement for retransmitted I-frame does not come before the second timer expires, the packet sending unit will send the same frame a predetermined number of times. If the packet sending unit receives the RR message, it closes the layer tunneling channel (LTC). If the packet sending unit has resent the missing frame the predetermined number of times and no confirmation has been received from the packet receiving unit, a normal recovery is made.